/* (PARI) R. J. Cano, Jun 27 2014 */

t0(v,n=1,a=10)={my(w=vector(#v,i,(v[i]+v[if(i+1>#v,1,i+1)])%a));if(n==1,w,t0(w,n-1,a))}; /* Recursive, base 10 or decimal system by default */

t1(v,n=1,a=10)={my(w0=v,w1=vector(#v),m=n);while(m,if(1==#w0,w1[1]=(2*w0[1])%a,for(j=1,#w0-1,w1[j]=(w0[j+1]+w0[j])%a);w1[#w0]=(w0[#w0]+w0[1])%a);w0=w1;m--);w0} /* Iterative, works similar to t0 */

tryToFindX(n,U=10^7)={if(!n,2,my(X=1,w);while(1,w=digits(X);if((w==t1(w,n))||(X+1>U),break,X++));if(X==U,0,X))}

sequenceThem(M)=for(k=1,M,print(k" "tryToFindX(k)));

/*
 *  Note: Upper limit U=10^7 by default in tryToFindX() used successfully to find out the first 28 terms only... for now. 
 */